/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package demo.thread;

import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author VANDH
 */
public class TinhSNT extends Thread {

    public int n = 0;
    public int result = 0;
    public IntegerWrap count;

    @Override
    public void run() {
        int k = 0, sntThuN = 0;

        for (int j = 2; k < n; j++) {
            // kiểm tra j có phải là snt không?
            // snt là biến làm cờ, true thì j là snt
            boolean snt = true;

            for (int i = 2; i <= j - 1; i++) {
                if (j % i == 0) {
                    snt = false;
                    break;
                }
            }

            if (snt == true) {
                sntThuN = j;
                k++;

                try {
                    synchronized (count) {
                        count.increment();
                        System.out.println("SNT - " + sntThuN + ", count = " + count.getInt());
                        count.notify();
                        Thread.sleep(500);
                    }
                } catch (InterruptedException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        result = sntThuN;
    }
}
